package edu.stanford.prpl.api;

import java.io.Serializable;
import java.util.Iterator;

public interface Group extends PRPLObject, Serializable {
	
	public static final String PUBLIC_GROUP_NAME = "PUBLIC";

	void addMember(Identity identity);

	String getName();

	Identity[] getMembers();

	Iterator<Resource> getResources();

	boolean isMember(Identity identity);

	void removeMember(Identity identity);

	//void setName(String groupName);

	void share(Resource ownResource);

	void unshare(Resource ownResource);
}
